package main

import (
	"flag"
	"github.com/glog-master"
)

/*
glog是著名的google开源C++日志库，glog是一个轻量级的日志库，上手简单不需要配置文件并且稳定高效，但是可以自定义控制的内容较少。

glog主要的特点：
   glog有四种日志等级INFO < WARING < ERROR < FATAL,不同等级的日志是打印到不同文件的，低级的日志日志文件中(INFO)会包含高等级的日志信息(ERROR)；
   通过命令行传递参数--log_dir指定日志文件的存放目录，默认为os.TempDir();
   可以根据文件大小切割文件，但是不能根据日期切割日志文件；
   日志输出格式是固定的(Lmmdd hh:mm:ss.uuuu threadid file:line] msg...)不可以自定义；
   在程序开始时需要调用flag.Parse解析命令行参数，在程序退出时需要调用glog.Flush()确保将缓存区中的内容输出到文件中。
*/


func init(){
	//  直接初始化，主要使服务器启动后自己直接加载，并不用命令行执行对应的参数
	flag.Set("alsologtostderr","true") // 日志写入文件的同时，输出到stderr
	flag.Set("log_dir","./log") // 日志文件保存目录
	flag.Set("v","3") // 配置v输出的等级
	flag.Parse()
}


func main() {

	//退出时调用  确保日志写入文件中
	//defer glog.Flush()

	glog.Info("This is glog Info Level Message")
	glog.Warning("Warning Level Message")
	glog.Error("glog Error Level Message")

	//直接刷新到文件中
	glog.Flush()
	return
}